home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ien / ien-147 < prev    next >
Text File  |  1988-12-01  |  17KB  |  474 lines

  1.  
  2.  
  3.    UTILIZING INTERNET ROUTES AS EXPRESSWAYS THROUGH SLOW NETS
  4.  
  5.                             IEN #147
  6.                             PRTN #290
  7.                           Radia Perlman
  8.                             June 1980
  9.  
  10.  
  11. INTRODUCTION
  12.  
  13. Some networks in the catenet are very slow relative to others.
  14. An example is a very large packet radio network, which might be
  15. 100 PR hops from end to end.
  16.  
  17. Distributed throughout the slow net might be several gateways to
  18. a faster net.  It would be desirable to utilize the internet to
  19. quickly route packets through the slow net.  So in the particular
  20. example, rather than delivering a packet through 100 PR hops, it
  21. would be desirable to deliver the packet to the nearest gateway
  22. in the PR net, and have that gateway deliver the packet, through
  23. the internet, to a gateway close to the destination of the
  24. packet.
  25.  
  26. This problem was presented by Dr. Vinton Cerf at the May 1980
  27. Internet meeting.  This paper is an approach to solving the
  28. problem on a specific case basis, and an argument for solving it
  29. that way rather than as a generalized internet routing problem.
  30.  
  31.  
  32. WHY IT IS NOT THE CATENET'S JOB
  33.  
  34. The catenet is a network of nets.  Its job is to deliver a packet
  35. as efficiently as possible to the correct net.  It should not
  36. have to worry about the internal structure of a network to the
  37. extent of knowing which hosts are closest to which gateways.
  38.  
  39. It is reasonable for the catenet to know enough about nets to
  40. take into account their properties when calculating internet
  41. routes.  For instance, according to whatever cost function
  42. gateways are using to calculate catenet distances, one net can be
  43. many times the cost of another.  And if gateways wished to
  44. calculate distances to their neighbor gateways, and if there were
  45. three gateways G1, G2, and G3 on a net N, the link G1-G2 could
  46. have a different cost from the link G1-G3.  However, the catenet
  47. should route to destination networks based solely on the most
  48. efficient internet route to that network, and let the destination
  49. network handle delivery to the host on the network as it sees
  50. fit.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                               - 1 -
  59.  
  60.  
  61.  
  62. HOW A SPECIFIC NETWORK CAN USE A NEARBY FAST NET
  63.  
  64. The previous section does not imply that the internet cannot be
  65. utilized as an express route through a slow net.  What it says is
  66. that it is the job of a local net, rather than the catenet, to
  67. utilize the capability.  And it is not difficult to design this
  68. into a net.
  69.  
  70.           net S       I           net F
  71.      ________________________________________
  72.      I                I
  73.      I     A          I
  74.      I     .          I
  75.      I     ...N1--G1S-G1-G1F..
  76.      I                I      .
  77.      I                I      .
  78.      I                I      .
  79.      I                I      .
  80.      I       .N2--G2S-G2-G2F..
  81.      I       .        I
  82.      I       .        I
  83.      I       .B       I
  84.      I                I
  85.      ________________________________________
  86. We are assuming a slow net with a few gateways to a faster
  87. network.  Call the slow net S, and the fast net F.  Assume two
  88. gateways, both on both S and F.  The addresses of the first
  89. gateway are G1S and G1F, with G1S being G1's local address on net
  90. S.  The addresses of the second gateway are G2S and G2F.  Assume
  91. G1S is connected to node N1 on net S, and G2S is connected to
  92. node N2 on S.  (I am assuming a network like the ARPANET or the
  93. PRnet, in which hosts are not nodes on the net, but are attached
  94. to nodes on the net.)
  95.  
  96. Node A on net S wishes to communicate with node B on net S.  A
  97. and B are distant in net S, and A is close to G1, and B is close
  98. to G2.
  99.  
  100. A can communicate with B via A's route to G1, G1's route through
  101. net F to G2, and G2's route to B in S by prepending to the packet
  102. an internet header with a one level source route, and sending the
  103. packet to gateway G1.  The one level source route is the address
  104. on the fast net of the destination gateway, i.e., <net F, host
  105. G2F>.  The destination in the internet header is the internet
  106. address of the destination of the packet, i.e., <net S, B>.  When
  107. G1S receives the packet, it will route it to internet address
  108. F,G2F.  Since that internet address is on net F, G1 will route
  109. the packet through net F to G2.  When G2 receives the packet, it
  110. will advance the source route and forward the packet to internet
  111. address <S,B>.  So the packet travels A=>G1 through S, G1=>G2
  112. through F, and finally G2=>B through S, as desired.
  113.  
  114.  
  115.  
  116.  
  117.                               - 2 -
  118.  
  119.  
  120.  
  121. The source route is essential because if G1 is given a packet
  122. with an internet address on net S, it will just throw the packet
  123. back into net S directly, because no matter how cheap its link to
  124. G2 is through net F, it cannot be cheaper than 0, which is G1's
  125. distance to net S, because G1 is directly connected to S.
  126.  
  127. In most network designs, you would want most of net S to be
  128. unburdened with knowledge of the internet, neighboring fast net,
  129. internet headers, etc.  Thus a reasonable design is that nodes on
  130. S have some local net link-link protocol, and some routing
  131. information about links that gets passed around.  The nodes
  132. directly attached to the gateways, N1 and N2, utilize the foreign
  133. net as a "link" between themselves.  To do this, they must
  134. encapsulate local net packets for transmission across this
  135. "link", within internet packets, since the "link" is actually the
  136. internet.
  137.  
  138. N1 adds an internet header to the packet with a one-level source
  139. route being the internet address of the second gateway on the
  140. fast net, and internet destination address <S,N2>, and passes the
  141. packet off to the gateway.  N2 strips off the internet header and
  142. continues the packet along the local net route.  The rest of the
  143. nodes on S can be ignorant of just what mechanism is employed
  144. when N1 and N2 communicate.  All they know is that N1 and N2
  145. report that they can get packets to each other with some
  146. miraculously low cost.  They believe N1 and N2, and find when
  147. they compute routes that many local routes will take advantage of
  148. that high speed link.  N1 and N2 do not have to know very much
  149. about net F.  For N1 to send a packet to N2, all it needs to do
  150. is send its attached gateway the packet with a prepended internet
  151. header with single-level source route <F,G2> and destination
  152. internet address <S,N2>.  N2 must be able to strip off the added
  153. internet header and continue the packet in the local net as if
  154. the N1-N2 link were an ordinary link in that net.  (In IEN #140,
  155. "Mutual Encapsulation of Internetwork Protocols", the authors
  156. give another example of using one net as if it were a link in
  157. another net -- the encapsulation of PUPs in IP datagrams.)
  158.  
  159. There are some nets in which only hosts are addressable, not
  160. nodes ("imps").  It is important, however, as discussed above, to
  161. have N1 be able to put N2 as the internet destination.  If N1
  162. merely put B (the destination host) as the internet destination,
  163. N2 would not know to strip off the internet header.  Packets
  164. should not arrive looking different depending on what path they
  165. take, so it is at least ineligent to have some packets arriving
  166. at B with internet headers.  Worse yet, B might not know about
  167. internet headers -- it might be a host that only communicates
  168. with other entities on the local net.  And another problem is
  169. that if the route through the net traversed several express hops,
  170. several internet headers would be prepended, one after another,
  171. onto the packet.  So the answer to this problem is that N1 must
  172. be able to have as the internet address N2.  The code in N2 to
  173. strip off internet addresses can be thought of as a virtual host
  174.  
  175.  
  176.                               - 3 -
  177.  
  178.  
  179.  
  180. attached to N2, so there should be no problem assigning it an
  181. internet address.
  182.  
  183.  
  184. THE MULTISTATION PACKET RADIO NET
  185.  
  186. For those of you uninterested in the packet radio net, skip this
  187. section.
  188.  
  189. Briefly, the packet radio network consists of nodes called PRs,
  190. each of which has a unique ID.  Hosts, terminals, etc., are known
  191. as devices, and can be attached to any PR, and unplugged from a
  192. PR and moved to another PR without impact since device/PR
  193. correspondence is dynamically bound by the network.  Devices also
  194. each have a unique ID.
  195.  
  196. Routing is calculated by special devices known as stations.  A
  197. route consists of a sequence of IDs, currently all of which would
  198. be PR IDs.  Presumably each PR in the route is in direct radio
  199. connectivity of the next PR along the route.
  200.  
  201. In the current design, station-station links are assumed to be
  202. ordinary packet radio multihop routes.  Suppose that some of the
  203. stations were directly connected to each other with some sort of
  204. high speed, high bandwidth lines.  The only modifications
  205. necessary to the design of the net to utilize these lines are
  206. that:
  207.    1) a station ID can appear in a route
  208.    2) a PR checks to see if the next ID in the route is its
  209.       directly attached station.  If so, rather than broadcasting
  210.       the packet, it sends the packet to its attached station.
  211.    3) a station attached to other station(s) via high speed lines
  212.       must be able to handle a packet by looking to see the next
  213.       ID in the route and handing the packet to the correct next
  214.       station, or to its attached PR (if the next ID was the
  215.       station's attached PR)
  216.    4) stations would take these high speed lines into account in
  217.       calculating routing in their subnets, and in calculating
  218.       their distance to their neighbor stations in the
  219.       station-net.
  220.  
  221.  
  222. Suppose instead that there are gateways (which are devices) to a
  223. faster net interspersed throughout the PRnet.  Assume the
  224. gateways are not in stations.  The modifications necessary to the
  225. PRnet design to utilize them are:
  226.    1) a device ID must be able to appear in a route
  227.    2) a PR must check to see if the next ID in the route is its
  228.       attached device.  If so, the PR must prepend an internet
  229.       header with single level source route being <net F (a
  230.       constant assembled into the PR's program), host X> (where X
  231.       is the next ID in the route (and if the internet local name
  232.       doesn't fit into a PRnet unique ID, use two PRnet IDs, the
  233.  
  234.  
  235.                               - 4 -
  236.  
  237.  
  238.  
  239.       next 2 hops, to calculate what to put into X in the
  240.       internet header)), and internet destination <PRnet (a
  241.       constant assembled into the PR's program), ID of following
  242.       hop of route>.
  243.    3) The PR receiving the packet from its attached device should
  244.       strip off the internet header and continue the packet along
  245.       the PRnet route.
  246.    4) Stations must know the gateway IDs so that they can
  247.       recognize them as such when they are reported
  248.  
  249. Suppose instead that the stations themselves are gateways, in
  250. that they are themselves connected to both nets.  Then there is a
  251. choice of how to treat the design.  It can either be treated as
  252. the standard gateway design just covered, or it can be treated as
  253. the slightly simpler case of direct lines between the stations,
  254. where the "direct lines" are actually routes through the fast
  255. net.  In other words the stations can use the internet as their
  256. "direct link", or the fast net alone.
  257.  
  258.  
  259. COMPLICATIONS?
  260.  
  261. In this section, I will present some variants of the basic
  262. problem, and show how they are not complications of the basic
  263. design.
  264.  
  265. The first variant is when there are three nets, S (Slow), M
  266. (Medium), and F (Fast).  There are a few gateways between S and
  267. M.  There are a few gateways between M and F.  There are no
  268. gateways between S and F.
  269.  
  270. net F
  271.           ......................
  272.           .                    .
  273. __________G____________________G______________
  274.           .                    .
  275. net M     .                    .
  276.       .....                    .....
  277.       .                            .
  278. ______G____________________________G_________
  279.       .                            .
  280.       .....                        ..
  281.           .                         .
  282.           A                         B
  283.  
  284. net S
  285.  
  286. Routing in net M is exactly as described above.  Net M can make
  287. use of the gateway links through net F.  Routing in net S is also
  288. exactly as described above.  Net S can make use of the gateway
  289. links through net M.  S does not know anything about net F.  It
  290. routes packets through net M, and is unaware that M cleverly
  291. makes use of net F.  So a packet between two hosts A and B on S
  292.  
  293.  
  294.                               - 5 -
  295.  
  296.  
  297.  
  298. might travel to a nearby S-M gateway, through M to an S-M gateway
  299. near B, and then to B.  The path through M between the two S-M
  300. gateways might travel through net F for some part of the way.
  301. The important thing is that none of the nets needs to know
  302. exactly how the other net routes packets.  The strange thing is
  303. that each time this happens a new internet header will be
  304. prepended to the packet.  So in this example, while the packet is
  305. travelling through net F, there will be two levels of internet
  306. header on the packet.  One might prefer instead to have a
  307. two-level source route on the packet.  The reason I don't think
  308. that would be the right design is that it requires net M to
  309. understand that the packet travelling through its local net is an
  310. internet packet.  I am assuming that while a packet is travelling
  311. through net M it has a local M-net header on it, and as far as
  312. net M is concerned, the internet header, which follows the local
  313. header, is just data.  So entities on M would not be smart enough
  314. to strip off the local header and manipulate the internet header
  315. by adding more levels of source route.
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.                               - 6 -
  354.  
  355.  
  356.  
  357.                      I
  358. net                  I                        net
  359. F1                   I                         F2
  360.         .............G..................
  361.         .            I                 .
  362.         .            I                 .
  363.         .            I                 .
  364. ________G______________________________G_____________
  365.         .                              .
  366.     .....                              ...
  367.     .                                    .
  368.     .                                    .
  369.     A                                    B
  370.  
  371.  
  372.             net S
  373.  
  374.  
  375. The next variant consists of three nets, S (Slow), F1 (fast net
  376. 1), and F2 (fast net 2).  Assume a gateway between S and F1, a
  377. gateway between F1 and F2, and a gateway between F2 and S.
  378. Assume these are the only gateways, and the two gateways on S are
  379. distant from each other on S.  Assume a host A on S close to the
  380. S-F1 gateway and a host B on S close to the S-F2 gateway.  S
  381. should route packets between A and B through net F1, then net F2,
  382. and then to B.
  383.  
  384. S handles this case exactly as all the others.  The route through
  385. S goes first to a node attached to the S-F1 gateway, and that
  386. node prepends an internet header with the source route being the
  387. F2 address of the S-F2 gateway, and the internet destination
  388. being the S node attached to the S-F2 gateway, and gives the
  389. packet to the S-F1 gateway.  The S-F1 gateway routes the packet
  390. as desired.  So net S treats the S-F1 gateway as if it really
  391. were an S-F2 gateway in the original example.
  392.  
  393.  
  394. AN ALTERNATIVE TO SOURCE ROUTING FOR THIS CASE
  395.  
  396. This design does not really utilize the general capabilities of
  397. source routing.  Assuming source routing is implemented, it
  398. provides a convenient method of implementing the catenet as an
  399. express route through a slow net.  However, it is probably
  400. cleaner to look at the solution in a slightly different way.
  401.  
  402. With source routing, the packet header specifies a full internet
  403. address as an intermediate destination.  In this case, the
  404. intermediate address is always a gateway.  Assuming gateways were
  405. given unique IDs (as opposed to multiple internet addresses), it
  406. would be cleaner to specify a gateway ID rather than a <net, host
  407. ID> pair for a gateway.  An example where it is cleaner is having
  408. three nets, S (slow), F1 (fast net #1), and F2 (fast net #2).
  409. Suppose two gateways, each connected to all three nets.  When net
  410.  
  411.  
  412.                               - 7 -
  413.  
  414.  
  415.  
  416. S wishes to utilize the catenet as an express route between the
  417. gateways, S does not care whether the catenet routes the packet
  418. over F1 or F2.  But with source routing, S would have to specify
  419. one or the other.  If instead S could merely give the unique
  420. gateway ID of the desired gateway, the catenet could choose over
  421. which path to send the packet to reach the other gateway.
  422.  
  423. If the only utilization of source routing is to give a string of
  424. gateway addresses, perhaps source routing should be, instead of a
  425. string of internet addresses, a string of gateway IDs.  In
  426. addition to possible cleanliness, this would save room in the
  427. header.
  428.  
  429.  
  430.  
  431. CONCLUSIONS
  432.  
  433. The catenet should be protected from knowledge of how local
  434. networks route packets.  All the catenet should know is the cost
  435. of each gateway-gateway link, not the mechanism of packet travel
  436. on the link.
  437.  
  438. Local networks should be mostly protected from knowledge of the
  439. internet.  A network that was not originally designed as part of
  440. the catenet should be able to be connected to the catenet merely
  441. by adding a gateway to that net.
  442.  
  443. The problem of utilizing faster neighbor nets can be solved in
  444. each net in which the opportunity exists in a not very costly or
  445. complicated manner, by adding sophistication only to the nodes
  446. directly connected to gateways.  The rest of the local network
  447. can be oblivious of what is going on.
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.                               - 8 -
  472.  
  473. -------
  474.